<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
</head>

<body></body>
<script>
  /*
        JS中的自定义对象格式
        var 对象名 = {
            属性名1: 属性值1, 
            属性名2: 属性值2,
            属性名3: 属性值3,
            函数名称:function(形参列表){}
        };

        注意 : 函数可以把 :function 省略
        调用 : 使用对象名调用属性和方法
        需求 : 自定义用户对象,定义属性和方法进行调用
     */
  // var user = {
  //   // 属性
  //   name: "柳岩",
  //   age: 18,
  //   gender: "女",
  //   // address: ["上海", "北京", "天津"],
  //   address: {
  //     addr1: "上海",
  //     addr2: "北京",
  //   },
  //   // 函数
  //   eat: function () {
  //     alert("干饭...");
  //   },
  // };

  // // 调用js对象中的属性和函数
  // console.log(
  //   user.name + "--" + user.age + "--" + user.gender + "--" + user.address
  // );
  // // 需求 : 获取北京这个值
  // console.log(user.address.addr2);
  // // user.eat();

  // console.log("----------------------------------------");

  // // ----------------------------------------JSON字符串

  // /*
  //     JSON 是通过 JavaScript 对象标记法书写的字符串文本。格式和js自定义对象类似,只是属性名必须是双引号字符串形式
  //     作用 : 由于其语法简单，层次结构鲜明，现多用于作为数据载体，在网络中进行数据传输。

  //     格式 : var 变量名 = '{"key1": value1, "key2": value2}';
  //     注意 : 
  //         1 json字符串整体需要使用单引号
  //         2 json中的数据以键值对形式存在 , 值的类型可以是
  //             1) 数字（整数或浮点数）
  //             2) 字符串（在双引号中）
  //             3) 逻辑值（true 或 false）
  //             4) 数组（在方括号中）
  //             5) 对象（在花括号中）
  //             6) null

  //     json字符串和js对象之间的转换
  //         1 json字符串转成js对象 : var js对象变量名   = JSON.parse(json字符串);
  //         2 js对象转成json字符串 : var json对象变量名 = JSON.stringify(js对象);

  //     需求 : 定义json字符串,并获取json中的数据
  //   */
  // var jsonStr = '{ "name":"李沁" , "age":18 , "address":["上海" , "北京" ,"天津"] }';

  // // json --> js对象
  // var jsObj = JSON.parse(jsonStr);
  // console.log(jsObj.name);

  // // js对象 --> json
  // var jsonString = JSON.stringify(user);
  // console.log(jsonString);

  //-------------------

  //js对象
  var cat = {
    name:"贴贴",
    age: 3,
    type: "银渐层",
    address:["中国","英国","美国","俄罗斯"],
    eat: function () {
      console.log("吃鱼");

    }

  }
  //转 json
  var catString =  JSON.stringify(cat);
  alert(catString);

  //转成 js对象
    var jsObj =  JSON.parse(catString);
    alert(jsObj);
    alert(jsObj.address);


  



</script>

</html>